package cardgame;

// 表示一张牌
    public class Card {
        private final int rank;       // 值是 1 到 13，代表 A -> K
        private final String suit;    // 花色 ♥、♣、♦、♠

        public Card(String suit, int rank) {
            this.suit = suit;
            this.rank = rank;
        }

        // 重写其 toString 方法
        @Override
        public String toString() {
            // String.format 返回一个 格式化(format)后的字符串(String)
            // 格式化字符串的使用和 System.out.printf 的方式一样
            return String.format("扑克[%s %s]", this.suit, rankStr());
        }

        private String rankStr() {
            if (rank == 1) {
                return "A";
            } else if (rank >= 2 && rank <= 10) {
                return String.valueOf(rank);
            } else if (rank == 11) {
                return "J";
            } else if (rank == 12) {
                return "Q";
            } else {
                return "K";
            }
        }

        public static void main(String[] args) {
            Card card = new Card("♥", 11);
            System.out.println(card);   // card.toString()
        }
    }


